// 泛型
function log<T>(value: T): T {
	console.log(value);
	return value;
}
// 调用
log<string[]>(['a', 'b']);
log(['a', 'b']); //推荐

// 泛型函数类型
// type Log = <T>(value: T) => T;
// let mylog: Log = log;

// 接口
interface Log<T> {
	(value: T): T;
}
// interface Log<T = string> {
// 	(value: T): T;
// }

let myLog: Log<number> = log;
myLog(1);
